home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 6272 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.6 KB

  1. Path: fc.hp.com!news
  2. From: Rick Wells <rwells@blkbear.fc.hp.com>
  3. Newsgroups: comp.lang.c
  4. Subject: Re: [Help] I can't find my error.
  5. Date: Fri, 23 Feb 1996 09:58:41 -0700
  6. Organization: Hewlett-Packard Fort Collins Site
  7. Message-ID: <312DF241.23CC@blkbear.fc.hp.com>
  8. References: <4ggvgr$1b2@aurora.engr.LaTech.edu> <4givk5$bqk@aphex.direct.ca>
  9. NNTP-Posting-Host: blkbear.fc.hp.com
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0 (X11; I; HP-UX A.09.07 9000/715)
  14.  
  15. Ed Toivanen wrote:
  16. > #include <stdio.h>
  17. > #include <stdlib.h>
  18. > #define NAMESIZE 100
  19. > #define BUFSIZE  4
  20. > int main(void)
  21. > {
  22. >         char buf[BUFSIZE];
  23. >         char name[NAMESIZE];
  24. >         int  age, next_age;
  25. >         printf("Please enter your name:\t");
  26. >         name = fgets(buf, sizeof(buf), stdin);
  27. >         printf("\nPlease enter your age:\t");
  28. >         age = atoi(fgets(buf, sizeof(buf), stdin));
  29. >         next_age += age;
  30. >         printf("\nHi, %s ,next year, you will be %d\n", name, next_age);
  31. >         return(0);
  32. > }
  33. The error I get when I compile this is as follows:
  34.  
  35. cc: "test.c", line 14: error 1549: Modifiable lvalue required for
  36. assignment operator.
  37.  
  38. This would make sense. It's complaining about the assignment of the
  39. result of
  40. fgets to your variable "name". Name is an array of size NAMESIZE. What
  41. fgets
  42. returns is a pointer to buf. You can't assign a new address to name
  43. because
  44. then you'd lose access to the space that was orginally allocated for
  45. name.
  46. I suggest you replace that line with the following:
  47.  
  48.     fgets(name, sizeof(name), stdin);
  49.  
  50. Rick
  51.